// pages/goods_list/index.js
import { request } from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /* 触底事件逻辑分析 
        1. 触底时触发事件
        2. 获取数据总页数
        3. 判断当前页数与总页数的关系
            1.如果当前页数大于等于总页数，表示没有数据了，再触底时不用再加载数据
            2.如果当前页数小于总页数，所以还有数据可以加载，发送请求，此时不能覆盖数据，应该继续数据拼接
  */

  /**
   * 页面的初始数据
   */
  data: {
 tabs: [{
        id: 0,
        name: "综合",
        isActive: true
      },
      {
        id: 1,
        name: "销量",
        isActive: false
      },
      {
        id: 2,
        name: "价格",
        isActive: false
      }
    ],
    goodsList:[]
  },

  totalPage:1,

  // 接口要的参数
  QueryParams:{
    query:"",
    cid:"",
    pagenum:1,
    pagesize:10
  },

  handleClick(e){
    // console.log(e);
    const {index} = e.detail;
    let tabs = JSON.parse(JSON.stringify(this.data.tabs));
    tabs.forEach((v,i)=>i === index ? v.isActive=true:v.isActive=false);
    this.setData({
      tabs
    })
  },

  async getGoodsListData(){
    const res = await request({url:"/goods/search", data: this.QueryParams});
    // console.log(res);
    const totalNum = res.total;
    // console.log(totalNum);
    // console.log(res.data.message.goods);
    // console.log(res.data.message.total);
    this.totalPage = Math.ceil(totalNum / this.QueryParams.pagesize);
    // console.log(this.totalPage);
    this.setData({
      goodsList: [...this.data.goodsList,...res.goods]
    });

    // 获取了数据后就将下拉效果结束
    wx.stopPullDownRefresh();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // url="../goods_list/index?cid={{item2.cat_id}}" 由category里面的超链接url参数传参所得
    // console.log(options);
    this.QueryParams.cid = options.cid || "";
    this.QueryParams.query = options.query || "";
    this.getGoodsListData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  onReachBottom:function(){
    // console.log("触底了");
    if(this.QueryParams.pagenum >= this.totalPage){
      wx.showToast({
        title: '我是有底线的！',
      })
    }else{
      // 还有更多数据
      this.QueryParams.pagenum ++;
      this.getGoodsListData();
    }
  },

  onPullDownRefresh:function(){
    /* 
      1.页数归为1 
      2.列表数据清空
      3.重新发送请求
      4.。。。
    */
    this.QueryParams.pagenum = 1;
    this.setData({
      goodsList:[]
    });
    this.getGoodsListData();
  },
})